package edu.集合基础.ArrayList;

import edu.集合基础.domain.Student;

import java.util.ArrayList;

public class 集合与数组对比 {
    /*public static void main(String[] args) {
        *//*
        将（张三，23），（李四，24），（王五，25）封装为3个学生数组并存入数组
        随后遍历数组，将学生信息输出在控制台
        *//*

        //创建一个Student类型的对象数组
        Student[] arr=new Student[3];  //存储的是对象

        //根据需求创建3个学生对象
        Student stu1=new Student("张三",23);
        Student stu2=new Student("李四",24);
        Student stu3=new Student("王五",25);
        //将学生对象存入数组
        arr[0]=stu1;
        arr[1]=stu2;
        arr[2]=stu3;

        //遍历取出
        for (int i = 0; i < arr.length; i++) {
            //System.out.println(arr[1]);//取出的是对象的内存地址

            //取内容
            Student temp=arr[1];
            System.out.println(temp.getName()+"......"+temp.getAge());
        }
    }*/



    /*数组创建后的空间是有限的，不可变的，集合会在有新数据加入时自动扩容*/
    //集合：存储空间可变，容量可以改变ArrayList()初始容量为10

    /*如果存储的数据，长度经常发生改变，推荐使用集合*/

    public static void main(String[] args) {
        //创建集合容器对象
        //ArrayList list=new ArrayList();没有尖括号可以添加任何类型的数据，但不方便后续操作
        //<>:泛型，里面只能写引用数据类型
        ArrayList<String> list=new ArrayList<>();//jdk7后，后面的尖括号可以不写类型

        //添加数据，
        list.add("abc");
        list.add("123");
        list.add("456");//一个参数添加到集合末尾
        list.add(0,"789");//两个位置，前面的是索引，不能访问不存在的索引


        //打印出来的是内容，不是变量名   String，StringBuilder也不出现内存地址
        System.out.println(list);//[abc, 123, true]






    }







}
